int n = 10000;
VectorXd x(n), b(n);
SparseMatrix<double> A(n, n);
/* ... fill A and b ... */
BiCGSTAB<SparseMatrix<double> > solver(A);
// start from a random solution
x = VectorXd::Random(n);
solver.setMaxIterations(1);
int i = 0;
do {
  x = solver.solveWithGuess(b, x);
  std::cout << i << " : " << solver.error() << std::endl;
  ++i;
} while (solver.info() != Success && i < 100);
